package grafo.estrutura;

import java.io.Serializable;

public class Aresta  implements Serializable{
    // ID e descri��o da aresta
    public int id;
    public String descricao;
    // V�rtices terminais
    public Vertice verticeOrigem;
    public Vertice verticeDestino;
    // Ganho ou fun��o
    public double ganho;

    public Aresta(int aID, String aDescricao, Vertice aVerticeOrigem,
        Vertice aVerticeDestino, double aGanho)
    {
        id = aID;
        descricao = aDescricao;
        verticeOrigem = aVerticeOrigem;
        verticeDestino = aVerticeDestino;
        ganho = aGanho;
    }

    public int getID()
    {
        return id; 
    }

    public String getDescricao()
    {
        return descricao; 
    }

    public Vertice getVerticeOrigem()
    {
        return verticeOrigem; 
    }

    public Vertice getVerticeDestino()
    {
        return verticeDestino; 
    }

    public double getGanho()
    {
        return ganho;
    }
    
    public void substituirVertice(Vertice v, Vertice w)
    {
    	// Aresta ligada a w, � agora ligada a v
    	if (verticeOrigem == w) verticeOrigem = v;
    	if (verticeDestino == w) verticeDestino = v;
    }

}
